﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Liberty.Controls.Rules
{
    [Serializable]
    public class RuleSet : AbstractRule
    {
        #region Constants
        #endregion

        #region Event Handlers
        #endregion

        #region Methods
        public void AddRule( AbstractRule rule )
        {
            this.PrimRules.Add( rule );
        }

        public void RemoveRule( AbstractRule rule )
        {
            this.PrimRules.Remove( rule );
        }
        #endregion

        #region Properties
        #endregion

        #region Private Methods
        protected List<AbstractRule> PrimRules
        {
            get
            {
                return i_Rules;
            }
            set
            {
                i_Rules = value;
            }
        }
        #endregion

        #region Private Properties
        #endregion

        #region Construction and Finalization
        public RuleSet() : this( new List<AbstractRule>() )
        {
        }

        public RuleSet( List<AbstractRule> rules )
        {
            this.PrimRules = new List<AbstractRule>( rules );
        }
        #endregion

        #region Data Elements
        private List<AbstractRule> i_Rules;
        #endregion
    }
}
